PROJ = lsq
DIR1 = src
DIR2 = doc
SOURCE := $(PROJ).c
GENDATA := $(PROJ)_data
DATA = testdata.txt
IMAGE = output.eps
REF = references.bib

all: exe doc

exe: $(PROJ)

doc: $(PROJ).pdf
	firefox doc/*.pdf

$(PROJ): $(DIR1)/$(PROJ).c
	gcc -o $(PROJ) $(DIR1)/$(PROJ).c

$(DIR1)/$(GENDATA): $(DIR1)/$(GENDATA).c
	gcc -o $(GENDATA) $(DIR1)/$(GENDATA).c

$(DATA): $(DIR1)/$(GENDATA)
	./$(GENDATA)
	./$(PROJ)

$(IMAGE): $(DATA)
	gnuplot $(PROJ).gp
	mv $(IMAGE) doc/$(IMAGE)

$(PROJ).pdf: $(DIR2)/$(PROJ).tex $(IMAGE) $(DIR2)/$(REF)
	cd doc && xelatex $(PROJ)
	cd doc && bibtex $(PROJ)
	cd doc && xelatex $(PROJ)
	cd doc && xelatex $(PROJ)

clean:
	rm -rf *.aux *.bbl *.blg *.log *.out *.pdf *.toc \
	$(PROJ) $(GENDATA) $(DATA) $(IMAGE) \
	*.nav *.snm *.dat


.PHONY: all clean exe doc

PROJ = lsq
DIR = src
PLC = doc
SOURCE := $(PROJ).c
GENDATA := $(PROJ)_data
DATA = testdata.txt
IMAGE = output.eps
REF = references.bib

all: exe doc


exe: $(PROJ)

doc: $(PROJ).pdf
	firefox doc/*.pdf

$(PROJ): $(DIR)/$(PROJ).c
	gcc -o $(PROJ) $(DIR)/$(PROJ).c

$(GENDATA): $(DIR)/$(GENDATA).c
	gcc -o $(GENDATA) $(DIR)/$(GENDATA).c

$(DATA): $(GENDATA)
	./$(GENDATA)
	./$(PROJ)

$(IMAGE): $(DATA)
	gnuplot $(PROJ).gp
	mv $(IMAGE) doc/$(IMAGE)

$(PROJ).pdf : $(PLC)/$(PROJ).tex $(IMAGE) $(PLC)/$(REF)
	cd doc && xelatex $(PROJ)
	cd doc && bibtex $(PROJ)
	cd doc && xelatex $(PROJ)
	cd doc && xelatex $(PROJ)

clean:
	rm -rf *.aux *.bbl *.blg *.log *.out *.pdf *.toc \
	$(PROJ) $(GENDATA) $(DATA) $(IMAGE) \
	*.nav *.snm *.dat
	cd doc && rm -rf *.aux *.bbl *.blg *.log *.out *.pdf *.toc \
	$(PROJ) $(GENDATA) $(DATA) $(IMAGE) \
	*.nav *.snm *.dat

.PHONY: all clean exe doc
